/* console.log(1);
let p1 = new Promise(resolve => {
    console.log(2);
    resolve('OK');
    console.log(3);
});
console.log(4);
let p2 = p1.then(value => {
    console.log(5);
    return value;
});
p2.then(value => {
    console.log(6);
});
console.log(7); */

/* console.log(1);
(async () => {
    console.log(2);
    await Promise.resolve('ok');
    console.log(3);
})();
console.log(4); */

/* async function async1() {
    console.log('async1 start');
    await async2();
    console.log('async1 end');
}
async function async2() {
    console.log('async2');
}
console.log('script start');
setTimeout(function() {
    console.log('setTimeout');
}, 0)
async1();
new Promise(function(resolve) {
    console.log('promise1');
    resolve();
}).then(function() {
    console.log('promise2');
});
console.log('script end'); */

let body = document.body;
body.addEventListener('click', function () {
    Promise.resolve()
        .then(() => {
            console.log(1);
        });
    console.log(2);
});
body.addEventListener('click', function () {
    Promise.resolve()
        .then(() => {
            console.log(3);
        });
    console.log(4);
});